哈囉!各位,感謝看到這邊的你!廢廢今天的筆記是一般指令類別。
指令有分三大類別:資料間移動、流程控制類、運算類。
其中load和store為MIPS指令,且會用這兩個指令來實作以下四個指令。
不做任何運算,只做改變指令執行的順序,分為三類:程式對內、程式對外、系統呼叫。
intra program | inter program | system call
------------- | -------------
jump (unconditional) | call | trap
branch (conditional) | return | return
這邊有資料間移動與流程控制類的示意圖:
將記憶體資料載入至CPU中的暫存器,稱為load。
將CPU中的暫存器資料存至記憶體,稱為store。
將輸出入裝置的資料放至暫存器,稱為input。
將暫存器的資料放至輸出入裝置,稱為output。
在自己程式範圍內執行,例如:if else,稱為intra program。
在自己程式範圍外執行,例如:呼叫其他程式,稱為inter program。
向OS請求更高權限的運行服務,稱為system call。
運算類分為算術與邏輯,而此兩類又各自分類。
算術 | 邏輯 |
---|---|
整數 | and |
浮點數 | or |
加法 | not |
減法 | clear |
除法 | set,暫存器設為一 |
乘法 | shift,暫存器左右移動 |
rotate,移動後溢出的地方再從另一邊進入 |